package com.ruoyi.kucun.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 库存盘点历史记录对象 inventory_check_log
 * 
 * @author Rosou
 * @date 2025-06-17
 */
public class InventoryCheckLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 盘点记录ID */
    private Long checkId;

    /** 商品ID（外键） */
    @Excel(name = "商品ID", readConverterExp = "外=键")
    private Long productId;

    /** 盘点前数量 */
    @Excel(name = "盘点前数量")
    private Long beforeQuantity;

    /** 实际库存数量 */
    @Excel(name = "实际库存数量")
    private Long actualQuantity;

    /** 差异数量 */
    @Excel(name = "差异数量")
    private Long difference;

    /** 操作人ID */
    @Excel(name = "操作人ID")
    private Long operatorId;

    /** 盘点时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "盘点时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkTime;

    public void setCheckId(Long checkId) 
    {
        this.checkId = checkId;
    }

    public Long getCheckId() 
    {
        return checkId;
    }

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }

    public void setBeforeQuantity(Long beforeQuantity) 
    {
        this.beforeQuantity = beforeQuantity;
    }

    public Long getBeforeQuantity() 
    {
        return beforeQuantity;
    }

    public void setActualQuantity(Long actualQuantity) 
    {
        this.actualQuantity = actualQuantity;
    }

    public Long getActualQuantity() 
    {
        return actualQuantity;
    }

    public void setDifference(Long difference) 
    {
        this.difference = difference;
    }

    public Long getDifference() 
    {
        return difference;
    }

    public void setOperatorId(Long operatorId) 
    {
        this.operatorId = operatorId;
    }

    public Long getOperatorId() 
    {
        return operatorId;
    }

    public void setCheckTime(Date checkTime) 
    {
        this.checkTime = checkTime;
    }

    public Date getCheckTime() 
    {
        return checkTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("checkId", getCheckId())
            .append("productId", getProductId())
            .append("beforeQuantity", getBeforeQuantity())
            .append("actualQuantity", getActualQuantity())
            .append("difference", getDifference())
            .append("operatorId", getOperatorId())
            .append("checkTime", getCheckTime())
            .toString();
    }
}
